package com.kxmall.vehicle.domain;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.kxmall.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;


/**
 * 餐车柜格商品购买订单信息表对象 kx_vehicle_box_goods_order
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("kx_vehicle_box_goods_order")
public class KxVehicleBoxGoodsOrder extends BaseEntity {

    private static final long serialVersionUID=1L;

    /**
     * 餐车柜格商品购买订单信息表ID
     */
    @TableId(value = "id")
    private Long id;
    /**
     * 用户ID
     */
    private Long userId;
    /**
     * 订单编号
     */
    private String orderNo;
    /**
     * 订单状态 -1:已退款; 0:未支付; 1:已支付;  2:已取货
     */
    private Integer orderStatus;
    /**
     * 餐车id
     */
    private Long vehicleId;
    /**
     * 餐车动力单元编号
     */
    private String vehicleNo;
    /**
     * 餐车号/名称
     */
    private String vehicleName;
    /**
     * 餐车柜格索引 1~24
     */
    private Integer boxIndex;
    /**
     * 餐车调入商品表ID
     */
    private Long inGoodsId;
    /**
     * 餐车柜格上架商品信息表ID
     */
    private Long upGoodsId;
    /**
     * 数量
     */
    private Integer count;
    /**
     * 单价
     */
    private BigDecimal price;
    /**
     * 总价
     */
    private BigDecimal amount;
    /**
     * 分行4位iGoal码，用来前置分行交易:36 家分行每家分行分配一个唯一的 4 位iGoal 码，例如北京分行为 2110。详情见附录七
     */
    private String branchCode;
    /**
     * 渠道编码，标志交易来源渠道:渠道唯一标识号。例如掌银、网银及开放式分别是 MBNK、EBNK、OPEN
     */
    private String channel;
    /**
     * 缴费项目编号:缴费项目唯一标识号,例如:JF-EPAY2016122611702
     */
    private String epayCode;
    /**
     * 主商户编号:缴费项目配置的主商户在商E付系统的商户编号
     */
    private String merchantId;
    /**
     * 缴费中心流水号:标志唯一一笔流水，可以用来查日志，缴费账单流水必须跟查询账单流水保持一致
     */
    private String traceNo;
    /**
     * 行内客户编号或第三方openId号:
     * 行内渠道，送农行 16 位缴费客户编号 PID，
     * 例如：1637542378853889
     * 微信或支付宝渠道则送第三方 openId，
     * 例如 odXGFjj7jy9k8ioS9sqa3Tn1XiBU
     */
    private String traceUserId;
    /**
     * 交易码:固定送：queryBill
     */
    private String transCode;
    /**
     * 交易上行下送标志:
     * 上行发出交易固定送 01
     * 下行接收交易固定送 02
     */
    private String transFlag;
    /**
     * 缴费中心交易序列号:关联交易的交易序列号,
     * 例如:BP171212171412060778
     */
    private String transSeqNum;
    /**
     * 系统交易时间戳:
     * 时间格式 yyyyMMddHHmmssSSS，
     * 例如 20171212085347127
     */
    private String timeStamp;
    /**
     * 缴费单标识字段 1
     */
    private String input1;
    /**
     * 缴费单标识字段 2
     */
    private String input2;
    /**
     * 缴费单标识字段 3
     */
    private String input3;
    /**
     * 缴费单标识字段 4
     */
    private String input4;
    /**
     * 缴费单标识字段 5
     */
    private String input5;
    /**
     * 缴费金额计算规则
     */
    private String amtRule;
    /**
     * 合并支付的子账单数 默认送 1，多个子账单合并支付时送对应的合并支付子账单总数量
     */
    private String payBillCount;
    /**
     * 合并支付的子账单累加总金额
     */
    private String payBillAmt;
    /**
     * 合并支付的子账单，单个子账单直接传子账单编号，多个子账单通过|合并
     */
    private String payBillNo;
    /**
     * 套餐名称 销账的时候，如果选择的是套餐金额时才送
     */
    private String optionName;
    /**
     * 套餐编号 销账的时候，如果选择的是套餐金额时才送
     */
    private String optionCode;
    /**
     * 套餐金额（ 跟payBillAmt 一致）
     */
    private String optionAmt;
    /**
     *  支付方式交易码
     */
    private String payType;
    /**
     * 缴费支付账号
     */
    private String payAcc;
    /**
     * 支付系统流水号
     */
    private String transPaySeq;
    /**
     * 支付系统交易日期 商 E 付返回的交易日期
     */
    private String transDate;
    /**
     * 支付系统交易时间 商 E 付返回的交易时间
     */
    private String transTime;
    /**
     * 会计日期 商 E 付支付的会计日期，有则送
     */
    private String settleDate;
    /**
     * 清算模式
     */
    private String clearType;
    /**
     * 缓存域信息 缓存域信息，销账时原文返回
     */
    private String cacheMem;
    /**
     * 销账通知重发次数
     */
    private String resendTimes;
    /**
     * 第三方支付平台商户订单号
     */
    private String numOpenMerchantOrder;

}
